Update dependency e2b to v2.32.0#305
Conversation
There was a problem hiding this comment.
LGTM — Renovate dev-dependency minor bump (e2b 2.30.0 → 2.31.0), single line change in template/requirements-dev.txt.
Extended reasoning...
Overview
Single-line Renovate bot bump of the e2b dev dependency from 2.30.0 to 2.31.0 in template/requirements-dev.txt. No other files touched.
Security risks
None. This is a dev-only requirement (used to build/test the template image) and a minor version bump of a first-party e2b SDK package. Release notes describe additive API surface (keep_memory option) and internal watch-handle bug fixes — nothing that changes trust boundaries.
Level of scrutiny
Low. Dependency-file-only change, additive minor release from the same org (e2b-dev), no code changes required in this repo, no CODEOWNER-sensitive paths touched.
Other factors
No bugs surfaced by the bug hunting system; no prior reviewer comments outstanding. Consistent with previously merged Renovate bumps of the same package (e.g. 6a43aeb, 9249b64).
6a43aeb to
f58b9eb
Compare
This PR contains the following updates:
==2.30.0→==2.32.0Release Notes
e2b-dev/e2b (e2b)
v2.32.0Compare Source
Minor Changes
2b7dd17: Add agzipoption to the templatecopylayer to control whether copiedfiles are gzipped before upload.
Gzip is enabled by default (matching the previous behavior). Pass
gzip: false(gzip=Falsein Python) to upload an uncompressed tar archiveinstead — useful when copying already-compressed files where gzipping adds
CPU cost without shrinking the payload.
Patch Changes
bb45f18: Introduce a generic, reusable paginator base class and migrate the sandbox and snapshot list paginators onto it. The base owns the shared cursor-based pagination state (hasNext/has_next,nextToken/next_token, and reading thex-next-tokenheader) while each concrete paginator implementsnextItems/next_itemsto fetch its own page, so future list endpoints can add pagination by subclassing it without reimplementing the bookkeeping. No public API changes.f160f08: Keep integration user-agent attribution onConnectionConfiginstead of exposing it through sandbox, template, volume, or per-call API option types.c385566: CorrectSandbox.list()documentation across both SDKs: it returns a paginator (SandboxPaginator/AsyncSandboxPaginator), not a list, and by default the server returns sandboxes in bothrunningandpausedstates. The docstrings now describe the return type accurately and show how to iterate pages viapaginator.next_items()/await paginator.nextItems()whilepaginator.has_next/paginator.hasNextis true. No behavior change.bb16968: Template builds: the build-context tar archive is now spooled to a temporary file and streamed from disk during upload instead of being held in memory (JS and Python, sync and async), while keeping the explicitContent-Lengthrequired by S3 presigned URLs. Temp-file cleanup is now best-effort, so a cleanup failure after the upload no longer masks a successful upload as an error (nor overwrites the real upload error on failure). The Python SDK now uploads the archive with a 1-hour default timeout (overridable viarequest_timeout) instead of the 60s general API timeout, matching the JS SDK and preventing large uploads from timing out.v2.31.0Compare Source
Minor Changes
7e7e951: Add an object form to the sandboxlifecycle.onTimeout(on_timeoutin Python)that controls the snapshot kind taken when a sandbox auto-pauses on timeout, via
keepMemory(keep_memory).onTimeoutnow accepts either the existing bare action ('pause'/'kill') orthe object form. The object form is a discriminated union on
action:keepMemoryis only accepted alongsideaction: 'pause'— pairing it withaction: 'kill'is a compile-time type error (and is rejected at runtime foruntyped callers). When
keepMemoryisfalse, a timeout auto-pause drops thein-memory state and persists only the filesystem (a filesystem-only snapshot);
resuming such a sandbox cold-boots (reboots) it from disk, losing running
processes and open connections. Defaults to
true(full memory snapshot). Itcannot be combined with auto-resume: auto-resume wakes a paused sandbox on
inbound traffic by restoring its memory snapshot in place, and a filesystem-only
snapshot has no memory to restore (resuming cold-boots it), so it must be resumed
explicitly. The bare string form is unchanged.
cb5a387: Add akeepMemory(keep_memoryin Python) option topauseforfilesystem-only snapshots.
When
keepMemoryisfalse, pausing drops the in-memory state and capturesonly the filesystem (no memory snapshot); resuming such a snapshot cold-boots
(reboots) the sandbox from disk, losing running processes and open connections.
Defaults to
true(full memory snapshot), so existing callers are unaffected.Patch Changes
de0c401: Fix three filesystem watch handle bugs:WatchHandlenow awaits asynconEvent/onExitcallbacks. A rejecting asynconEventis routed toonExitand stops the watch instead of becoming an unhandled promise rejection that can crash Node, and async callbacks get backpressure/ordering — matchingCommandHandle.WatchHandle.get_new_events()andstop()now send a request timeout (default 60s, overridable viarequest_timeout) so a stalled call can't hang the thread forever, and include the authentication header so the polling/stop calls aren't sent unauthenticated on older envd.AsyncWatchHandlenow invokeson_exitwhen the stream ends cleanly (withNone) and whenstop()is called, in addition to on error — matching the JS SDK.Configuration
📅 Schedule: (in timezone UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.